package models

// 账号资产总览
type AccountAsset struct {
	Id int64 `json:"id"`
	TraderId int64 `json:"trader_id"`	//交易者id
	FeeTier                     int64   `json:"fee_tier"`                        // 手续费等级
	CanTrade                    bool    `json:"can_trade"`                       // 是否可以交易
	CanDeposit                  bool    `json:"can_deposit"`                     // 是否可以入金
	CanWithdraw                 bool    `json:"can_withdraw"`                    // 是否可以出金
	UpdateTime                  int64   `json:"update_time"`                     // 保留字段，请忽略
	TotalInitialMargin          float64 `json:"total_initial_margin"`            // 当前所需起始保证金总额(存在逐仓请忽略) 仅计算usdt资产
	TotalMaintMargin            float64 `json:"total_maint_margin"`              // 维持保证金总额 仅计算usdt资产
	TotalWalletBalance          float64 `json:"total_wallet_balance"`            // 账户总余额 仅计算usdt资产
	TotalUnrealizedProfit       float64 `json:"total_unrealized_profit"`         // 持仓未实现盈亏总额 仅计算usdt资产
	TotalMarginBalance          float64 `json:"total_margin_balance"`            // 保证金总余额 仅计算usdt资产
	TotalPositionInitialMargin  float64 `json:"total_position_initial_margin"`   // 持仓所需起始保证金(基于最新标记价格) 仅计算usdt资产
	TotalOpenOrderInitialMargin float64 `json:"total_open_order_initial_margin"` // 当前挂单所需起始保证金(基于最新标记价格) 仅计算usdt资产
	TotalCrossWalletBalance     float64 `json:"total_cross_wallet_balance"`      // 全仓账户余额 仅计算usdt资产
	TotalCrossUnPnl             float64 `json:"total_cross_un_pnl"`              // 全仓持仓未实现盈亏总额 仅计算usdt资产
	AvailableBalance float64 `json:"available_balance"`                          // 可用余额 仅计算usdt资产
	MaxWithdrawAmount float64 `json:"max_withdraw_amount"`                       // 最大可转出余额 仅计算usdt资产
	// 一对多
	Assets  []Asset `gorm:"ForeignKey:id;AssociationForeignKey:id" json:"assets"`                                              //资产
	Positions []Position `gorm:"ForeignKey:id;AssociationForeignKey:id" json:"positions"`                                      //头寸
}